package com.atguigu.mybatis.mapper;

import com.atguigu.mybatis.pojo.Dept;
import com.atguigu.mybatis.pojo.Emp;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * author: BigT
 * create: 2023-03-14 00:16
 * Version 1.0
 **/

public interface EmpMapper {

    /**
     * 获取全部员工信息
     */

    List<Emp> getAllEmp();

    List<Emp> getAllEmp2();

    List<Emp> getAllEmp3();

    /**
     * 获取员工及所对应的部门信息
     */

    List<Emp> getEmpAndDept(@Param("eid") Integer eid);

    List<Emp> getEmpAndDept2(@Param("eid") Integer eid);

    /**
     * 通过分步查询，员工及所对应的部门信息
     * 分步查询第一步：查询员工信息
     */
    Emp getEmpAndDeptByStepOne(@Param("eid") Integer eid);

    /**
     * 通过分步查询，查询部门及对应的所有员工信息
     * 分步查询第二步：根据部门id查询部门中的所有员工
     */
    List<Emp> getDeptAndEmpByStepTwo(@Param("did") Integer did);

    List<Emp> getEmpByCondition(Emp emp);

    List<Emp> getEmpByCondition2(Emp emp);

    List<Emp> getEmpByCondition3(Emp emp);

    List<Emp> getEmpByChoose(Emp emp);

    int deleteMoreByArray(@Param("eids") Integer[] eids);

    int insertMoreByList(@Param("emps") List<Emp> emps);

    List<Emp> getEmpByCondition4(Emp emp);

}
